from django.db import models
"""定义django模型用于管理商品信息
Types模型:
存储商品的分类信息，采用两级分类（一级和二级分类）

CommodityInfos模型：
存储商品详细信息，包括名称、规格、价格、库存等
自动记录商品的上架日期（auto_now_add=True）
支持商品主图和介绍图片文件的上传
"""
# Create your models here.
class Types(models.Model):
    """
    商品类型模型，用于存储商品的分类信息
    """
    #自增主键
    id=models.AutoField(primary_key=True)
    #一级分类标签
    firsts=models.CharField('一级分类',max_length=100)
    #二级分类标签
    seconds=models.CharField('二级分类',max_length=100)

    def __str__(self):
        """
        字符串表示方法，返回id的字符串形式
        """
        return str(self.id)

class Meta:
    """
    元数据类，用于定义模型在Admin界面的显示名称
    """
    verbose_name = '商品类型'  # 单数形式的显示名称
    verbose_name_plural = '商品类型'  # 复数形式的显示名称


class CommodityInfos(models.Model):
    """
    商品信息模型，用于存储商品的详细信息
    """
    id=models.AutoField(primary_key=True)
    name=models.CharField('商品名称',max_length=100)
    sezes=models.CharField('颜色规格',max_length=100)
    types=models.CharField('商品类型',max_length=100)
    price=models.FloatField("商品价格")
    discount=models.FloatField("折后价格")
    stock=models.IntegerField('存货数量')
    sold=models.IntegerField('已售数量')
    likes=models.IntegerField('收藏数量')
    create=models.DateTimeField('上架日期',auto_now_add=True)
    img=models.FileField("商品主图",upload_to=r'imgs')
    detail=models.FileField("商品介绍",upload_to=r'details')
    def __str__(self):
        return str(self.id)

    class Meta:
        verbose_name = '商品信息'  # 单数形式的显示名称
        verbose_name_plural = '商品信息'  # 复数形式的显示名称
"""
通过已有的数据库反向生成models
python manage.py inspectdb >app/models.py
"""
